//package leetcode;
//
//class TreeNode {
//    int val;
//    TreeNode left;
//    TreeNode right;
//
//    public TreeNode(int val, TreeNode left, TreeNode right) {
//        this.val = val;
//        this.left = left;
//        this.right = right;
//    }
//
//    public TreeNode(int val) {
//        this.val = val;
//    }
//}
//
//class Solution {
//    public TreeNode sortedArrayToBST(int[] nums) {
//        return helper(nums, 0, nums.length - 1);
//    }
//
//    private TreeNode helper(int[] nums, int left, int right) {
//        if (left > right) {
//            return null;
//        }
//
//        int mid = (left + right) / 2;
//        TreeNode root = new TreeNode(nums[mid]);
//        root.left = helper(nums, left, mid - 1);
//        root.right = helper(nums, mid + 1, right);
//        return root;
//    }
//}
//
//public class Test2 {
//}
